<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 变量和和函数名重名的时候，会覆盖
        // 如果变量没声明，直接赋值，会提升为全局变量   但是按照顺序执行


        // console.log(add) ;

        // var add = 3 ;

        // add++ ;

        // var a = 3 ;

        // function add() {
        //     console.log(a) ;
        //     var a = 4 ;
        //     console.log(a) ;
        //     b = 5 ;
        // }

        // add() ;

        // console.log(a) ;

        // console.log(b) ;

        // console.log(add) ;



        // 实际顺序
        var add ;
        var a ;
        function add() {
            var a ;
            console.log(a) ;
            a = 4 ;
            console.log(a) ;
            b = 5 ;
        }

        console.log(add) ;   // 打印整个函数

        // add = 3 ;    // add 又变成了数字3

        // add++ ;      // add 4

        a = 3 ;

        // console.log(b) ;  // 函数执行之前  没有b

        add() ;     // add is not a function   

        console.log(a) ;    

        console.log(b) ;   // b没有var   会变成全局变量

        console.log(add) ;





  



    </script>
    
</body>
</html>